home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / VS_804.ARJ / MAINTSRC.EXE / E_DICTHD.PRG < prev    next >
Text File  |  1991-11-25  |  6KB  |  241 lines

  1. * Filename.......: E_DICTHD.PRG
  2. *                  
  3. * Author.........: Vernon E. Six, Jr.
  4. *                  
  5. * Last Update....: Mon  11/25/91  16:37:16
  6. *                  
  7. * Created using..: VSG - Vern Six's Get System v1.00.53a
  8. *                  
  9. * Notice.........: CopyRight (c) 1991 by Vernon E. Six, Jr.
  10. *                  All Rights Reserved World Wide!         
  11.  
  12. #include "INKEY.CH"  
  13. #include "SETCURS.CH"
  14.  
  15. #include "_DICTHDR.CH"
  16.  
  17.  
  18. FUNCTION E_DICTHDR(pl_Update,pc_Mode)
  19. *══════════════════════════════════════════════════════════*
  20. * Edit the current database header record                  *
  21. *══════════════════════════════════════════════════════════*
  22. LOCAL getlist    := {}   
  23. LOCAL GetObj             
  24. LOCAL l_EatKeys  := .F.  
  25. LOCAL a_Say      := {}   
  26. LOCAL a_Get      := {}   
  27. LOCAL n_Cntr             
  28. LOCAL c_OldHelp          
  29. LOCAL n_Correct  := 1
  30.  
  31. *══ Make an assumption ═══════════════════════════════════*
  32.  
  33. pc_Mode = IF(pc_Mode=NIL,"EDIT",UPPER(pc_Mode))
  34.  
  35. *═════════════════════════════════════════════════════════*
  36.  
  37. _DICTHDR->( VS_SetOrder("1") )
  38.  
  39.  
  40. AADD( a_Get, IF(pl_Update, _DICTHDR->DBF_NAME    , _DEF__DICTHDR_DBF_NAME     ))
  41. AADD( a_Get, IF(pl_Update, _DICTHDR->DESC        , _DEF__DICTHDR_DESC         ))
  42. AADD( a_Get, IF(pl_Update, _DICTHDR->CREATE      , _DEF__DICTHDR_CREATE       ))
  43. AADD( a_Get, IF(pl_Update, _DICTHDR->PATH        , _DEF__DICTHDR_PATH         ))
  44.  
  45.  
  46.    VS_GRABSCR()
  47.  
  48.       VS_PALETTE(4)
  49.  
  50.       VS_Text(2,"",PADC("Working...",40),"")
  51.  
  52.       DispBegin()
  53.  
  54.       VS_EndText()
  55.  
  56.       IF pc_Mode = "DISPLAY"
  57.          VS_WIND(05,05,15,68," DataBase Header Information "," Press Any Key To Continue ")
  58.        ELSE
  59.          VS_WIND(05,05,15,68," DataBase Header Information "," Press <F1> For Help ")
  60.       ENDIF
  61.  
  62.  
  63.  
  64.       @ 07,07 SAY "DataBase Name:"
  65.       @ 08,09 SAY "Description:"
  66.       @ 10,07 SAY "Recreate this database, if missing?"
  67.       @ 12,07 SAY "Default Path..."
  68.  
  69.       SETCOLOR(VS_WindUns())
  70.  
  71.  
  72.       VS_WndColr()
  73.  
  74.  
  75.       *══════════════════════════════════════════════════════════*
  76.  
  77.       IF pl_Update
  78.  
  79.          @ 07,22 SAY     a_Get[001]                 ;
  80.                  PICTURE _PIC__DICTHDR_DBF_NAME     ;
  81.                  COLOR   VS_WindUns()
  82.  
  83.        ELSE
  84.  
  85.          GetObj           := GetNew( 07,22, ;
  86.                              {|x| IF(x==NIL,a_Get[001], a_Get[001]:=x)},;
  87.                              "a_Get[001]", ;
  88.                              _PIC__DICTHDR_DBF_NAME )
  89.  
  90.          GetObj:cargo  := {"_DICTHDR","DBF_NAME"} 
  91.  
  92.          GetObj:postBlock := { || VS_EatKeys(@l_EatKeys)  } 
  93.  
  94.          AADD( getlist, GetObj )
  95.  
  96.          GetObj:Display()
  97.  
  98.  
  99.       ENDIF
  100.  
  101.       *══════════════════════════════════════════════════════════*
  102.  
  103.       GetObj           := GetNew( 08,22, ;
  104.                           {|x| IF(x==NIL,a_Get[002], a_Get[002]:=x)},;
  105.                           "a_Get[002]", ;
  106.                           _PIC__DICTHDR_DESC )
  107.  
  108.       GetObj:cargo  := {"_DICTHDR","DESC"} 
  109.  
  110.       GetObj:postBlock := { || VS_EatKeys(@l_EatKeys)  } 
  111.  
  112.       AADD( getlist, GetObj )
  113.  
  114.       GetObj:Display()
  115.  
  116.  
  117.       *══════════════════════════════════════════════════════════*
  118.  
  119.       GetObj           := GetNew( 10,43, ;
  120.                           {|x| IF(x==NIL,a_Get[003], a_Get[003]:=x)},;
  121.                           "a_Get[003]", ;
  122.                           _PIC__DICTHDR_CREATE )
  123.  
  124.       GetObj:cargo  := {"_DICTHDR","CREATE"} 
  125.  
  126.       GetObj:postBlock := { || VS_EatKeys(@l_EatKeys)  } 
  127.  
  128.       AADD( getlist, GetObj )
  129.  
  130.       GetObj:Display()
  131.  
  132.  
  133.       *══════════════════════════════════════════════════════════*
  134.  
  135.       GetObj           := GetNew( 13,07, ;
  136.                           {|x| IF(x==NIL,a_Get[004], a_Get[004]:=x)},;
  137.                           "a_Get[004]", ;
  138.                           _PIC__DICTHDR_PATH )
  139.  
  140.       GetObj:cargo  := {"_DICTHDR","PATH"} 
  141.  
  142.       GetObj:postBlock := { || VS_EatKeys(@l_EatKeys)  } 
  143.  
  144.       AADD( getlist, GetObj )
  145.  
  146.       GetObj:Display()
  147.  
  148.  
  149.       *══════════════════════════════════════════════════════════*
  150.  
  151.       SETCURSOR(SC_NORMAL)
  152.       DispEnd()
  153.  
  154.       *══════════════════════════════════════════════════════════*
  155.       * Do all the pre-validations                               *
  156.       *══════════════════════════════════════════════════════════*
  157.       IF pl_Update .OR. pc_Mode="DISPLAY"
  158.       ENDIF
  159.  
  160.  
  161.  
  162.       IF pc_Mode = "DISPLAY"
  163.  
  164.          CLEAR GETS
  165.          SETCURSOR(SC_NONE) 
  166.          VS_INKEY(0)
  167.  
  168.        ELSE
  169.  
  170.          DO WHILE .T.           
  171.  
  172.             l_EatKeys := .F.    
  173.             c_OldHelp = VS_HelpPrg("E_DICTHDR ")
  174.             ReadModal(getlist)  
  175.             VS_HelpPrg(c_OldHelp)
  176.             CLEAR TYPEAHEAD     
  177.  
  178.             IF LASTKEY() = K_ESC
  179.                EXIT             
  180.             ENDIF               
  181.  
  182.             n_Correct = VS_Correct()
  183.  
  184.             DO CASE                 
  185.                CASE n_Correct = 3   
  186.                   VS_PutScr()       
  187.                   RETURN(NIL)       
  188.                CASE n_Correct = 2   
  189.                   LOOP              
  190.             ENDCASE                 
  191.  
  192.             EXIT
  193.  
  194.          ENDDO
  195.  
  196.       ENDIF
  197.  
  198.    VS_PutScr()
  199.  
  200.    CLEAR TYPEAHEAD
  201.  
  202.    IF LASTKEY() = K_ESC .OR. pc_Mode = "DISPLAY"
  203.       RETURN(NIL)
  204.    ENDIF
  205.  
  206.  
  207.    BEGIN SEQUENCE
  208.  
  209.       IF .NOT. pl_Update
  210.  
  211.          IF .NOT. _DICTHDR->(VS_AddRec())
  212.             BREAK
  213.           ELSE
  214.             REPLACE _DICTHDR->DBF_NAME       WITH _DEF__DICTHDR_DBF_NAME
  215.             REPLACE _DICTHDR->DESC           WITH _DEF__DICTHDR_DESC
  216.             REPLACE _DICTHDR->CREATE         WITH _DEF__DICTHDR_CREATE
  217.             REPLACE _DICTHDR->PATH           WITH _DEF__DICTHDR_PATH
  218.          ENDIF
  219.  
  220.        ELSE
  221.  
  222.          IF .NOT. _DICTHDR->(VS_RLOCK())
  223.             BREAK
  224.          ENDIF
  225.  
  226.       ENDIF
  227.  
  228.       REPLACE _DICTHDR->DBF_NAME            WITH a_Get[001]
  229.       REPLACE _DICTHDR->DESC                WITH a_Get[002]
  230.       REPLACE _DICTHDR->CREATE              WITH a_Get[003]
  231.       REPLACE _DICTHDR->PATH                WITH a_Get[004]
  232.  
  233.       _DICTHDR->( dbUnlock() )
  234.  
  235.    END SEQUENCE
  236.  
  237. RETURN(NIL)
  238. *══ EOF: E_DICTHDR() ═════════════════════════════════════════════════════════*
  239.  
  240.  
  241.